#include <string>
#include <vector>
#include <dirent.h>
#include <stdio.h>
#include <string.h>
/*
 * Bindings to the netcfg bash functions found at
 * /usr/lib/network. See netcfg docs.
 */
namespace NetcfgCpp {
/*
 * Returns true if netcfg is connected to the network.
 */
extern bool isConnected();

/*
 * Gets the name of the profile netcfg is currently
 * connected to.
 */
extern std::string getCurrent();

/*
 * Connects to profile profile. Returns true if 
 * connected or false if errors heppened.
 */
extern bool connect(std::string profile);

/*
 * Disconnects from a given profile. Returns true
 * when disconnected.
 */
extern bool disconnect(std::string profile);

/*
 * Returns a list of profiles currently in the profile directory. 
 * Ignores . , .. and directories inside the profile directory.
 */
extern std::vector<std::string> getProfiles();
}
